namespace MESData.ProductionPlan.API.DTO
{
    /// <summary>
    /// 项目DTO
    /// </summary>
    public class ProjectDto
    {
        /// <summary>
        /// 项目ID
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        public string ProjectName { get; set; } = string.Empty;

        /// <summary>
        /// 项目编号
        /// </summary>
        public string ProjectNumber { get; set; } = string.Empty;

        /// <summary>
        /// 项目描述
        /// </summary>
        public string? Description { get; set; }

        /// <summary>
        /// 项目状态
        /// </summary>
        public string Status { get; set; } = string.Empty;

        /// <summary>
        /// 开始日期
        /// </summary>
        public DateTime? StartDate { get; set; }

        /// <summary>
        /// 结束日期
        /// </summary>
        public DateTime? EndDate { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public string? Creator { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 更新人
        /// </summary>
        public string? Updator { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }
    }

    /// <summary>
    /// 项目查询参数
    /// </summary>
    public class ProjectQueryDto
    {
        /// <summary>
        /// 项目名称（模糊查询）
        /// </summary>
        public string? ProjectName { get; set; }

        /// <summary>
        /// 项目编号（模糊查询）
        /// </summary>
        public string? ProjectNumber { get; set; }

        /// <summary>
        /// 项目状态
        /// </summary>
        public string? Status { get; set; }

        /// <summary>
        /// 是否只查询启用的项目
        /// </summary>
        public bool OnlyActive { get; set; } = true;
    }

    /// <summary>
    /// 项目下拉选择项DTO
    /// </summary>
    public class ProjectSelectDto
    {
        /// <summary>
        /// 项目ID
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        public string ProjectName { get; set; } = string.Empty;

        /// <summary>
        /// 项目编号
        /// </summary>
        public string ProjectNumber { get; set; } = string.Empty;

        /// <summary>
        /// 项目状态
        /// </summary>
        public string Status { get; set; } = string.Empty;
    }
} 